package com.pengtu.entity.project;

import java.util.Date;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import com.pengtu.entity.IdEntity;
import com.pengtu.entity.app.Organization;

@Entity
@Table(name = "T_PROJ_PROJECTINFO")
public class ProjectInfo extends IdEntity {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private String projKind;
	private String projName;
	private String projCode;//受监编号
	private Date applyDate;//受监时间
	private OwnerOrganization orgCode;
	private Organization superviseCode;
	private String area;
	private String atTown;
	private String atVillage;
	private Integer planYear;
	private String planType;
	private String buildKind;
	private String principal;
	private String pegNum;
	private String approachLoad;
	private Double waterFront;
	private Date planStartDate;
	private Date planEndDate;
	private Double duration;
	private Date acceptDate;
	private Double acceptMark;
	private String qualityGrade;
	private Double toBuildLenTotal;
	private Double toBuildWidth;
	private Double planInvestmentTotal;
	private Double finishInvestment;
	private String buildBackgroud;
	private String techGrade;
	private String raodType;
	private String roadsurfacePly;
	private String roadsurfaceWidth;
	private String lanesNum;
	private String designSpeed;
	private Integer superBridgeNum;
	private Integer largeBridgeNum;
	private Integer mediumBridgeNum;
	private Integer smallBridgeNum;
	private Integer culvertNum;
	private Integer overBridgeNum;
	private Integer superTunnelNum;
	private Integer otherTunnelNum;
	private String remark;
	private String buildAccording;
	private String primeQuantity;
	private String buildInvestment;
	private String socialLevel;
	private String wharfType;
	private String tonnage;
	private String designLoad;
	private String approachSize;
	private String designType;
	private Integer berthCount;
	private String projApproval;
	private String projFeasible;
	private String designCheck;
	private String condrawingCheck;
	private String designtonnage;
	private String rearYardArea;
	private String buildNum;
	private String buildArea;
	private String signPrice;
	
	

	// 码头类型-水运
	// 码头吨级-水运
	// 设计荷载-水运
	// "码头尺寸
	// （长m×宽m)-水运"
	// "引桥尺寸
	// （长m×宽m)-水运"
	// 设计船型-水运
	// 泊位数量（个）-水运

	private String remark2;
	private String remark3;
	private String status; // 状态
	
	
	

	@Column(name = "PROJKIND")
	public String getProjKind() {
		return projKind;
	}

	public void setProjKind(String projKind) {
		this.projKind = projKind;
	}

	@Column(name = "PROJNAME")
	public String getProjName() {
		return projName;
	}

	public void setProjName(String projName) {
		this.projName = projName;
	}

	@Column(name = "PROJCODE")
	public String getProjCode() {
		return projCode;
	}

	public void setProjCode(String projCode) {
		this.projCode = projCode;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "ORGCODE")
	public OwnerOrganization getOrgCode() {
		return orgCode;
	}

	public void setOrgCode(OwnerOrganization orgCode) {
		this.orgCode = orgCode;
	}

	@ManyToOne(cascade = CascadeType.PERSIST)
	@JoinColumn(name = "SUPERVISECODE")
	public Organization getSuperviseCode() {
		return superviseCode;
	}

	public void setSuperviseCode(Organization superviseCode) {
		this.superviseCode = superviseCode;
	}

	@Column(name = "AREA")
	public String getArea() {
		return area;
	}

	public void setArea(String area) {
		this.area = area;
	}

	@Column(name = "ATTOWN")
	public String getAtTown() {
		return atTown;
	}

	public void setAtTown(String atTown) {
		this.atTown = atTown;
	}

	@Column(name = "ATVILLAGE")
	public String getAtVillage() {
		return atVillage;
	}

	public void setAtVillage(String atVillage) {
		this.atVillage = atVillage;
	}

	@Column(name = "PLANTYPE")
	public String getPlanType() {
		return planType;
	}

	public void setPlanType(String planType) {
		this.planType = planType;
	}

	@Column(name = "BUILDKIND")
	public String getBuildKind() {
		return buildKind;
	}

	public void setBuildKind(String buildKind) {
		this.buildKind = buildKind;
	}

	@Column(name = "ACCEPTDATE")
	public Date getAcceptDate() {
		return acceptDate;
	}

	public void setAcceptDate(Date acceptDate) {
		this.acceptDate = acceptDate;
	}

	@Column(name = "QUALITYGRADE")
	public String getQualityGrade() {
		return qualityGrade;
	}

	public void setQualityGrade(String qualityGrade) {
		this.qualityGrade = qualityGrade;
	}

	@Column(name = "BUILDBACKGROUD")
	public String getBuildBackgroud() {
		return buildBackgroud;
	}

	public void setBuildBackgroud(String buildBackgroud) {
		this.buildBackgroud = buildBackgroud;
	}

	@Column(name = "TECHGRADE")
	public String getTechGrade() {
		return techGrade;
	}

	public void setTechGrade(String techGrade) {
		this.techGrade = techGrade;
	}

	@Column(name = "ROADTYPE")
	public String getRaodType() {
		return raodType;
	}

	public void setRaodType(String raodType) {
		this.raodType = raodType;
	}

	@Column(name = "ROADSURFACEPLY")
	public String getRoadsurfacePly() {
		return roadsurfacePly;
	}

	public void setRoadsurfacePly(String roadsurfacePly) {
		this.roadsurfacePly = roadsurfacePly;
	}

	@Column(name = "ROADSURFACEWIDTH")
	public String getRoadsurfaceWidth() {
		return roadsurfaceWidth;
	}

	public void setRoadsurfaceWidth(String roadsurfaceWidth) {
		this.roadsurfaceWidth = roadsurfaceWidth;
	}

	@Column(name = "REMARK")
	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	@Column(name = "DURATION")
	public Double getDuration() {
		return duration;
	}

	public void setDuration(Double duration) {
		this.duration = duration;
	}

	@Column(name = "ACCEPTMARK")
	public Double getAcceptMark() {
		return acceptMark;
	}

	public void setAcceptMark(Double acceptMark) {
		this.acceptMark = acceptMark;
	}

	@Column(name = "TOBUILDLENTOTAL")
	public Double getToBuildLenTotal() {
		return toBuildLenTotal;
	}

	public void setToBuildLenTotal(Double toBuildLenTotal) {
		this.toBuildLenTotal = toBuildLenTotal;
	}

	@Column(name = "TOBUILDWIDTH")
	public Double getToBuildWidth() {
		return toBuildWidth;
	}

	public void setToBuildWidth(Double toBuildWidth) {
		this.toBuildWidth = toBuildWidth;
	}

	@Column(name = "PLANINVESTMENTTOTAL")
	public Double getPlanInvestmentTotal() {
		return planInvestmentTotal;
	}

	public void setPlanInvestmentTotal(Double planInvestmentTotal) {
		this.planInvestmentTotal = planInvestmentTotal;
	}

	@Column(name = "FINISHINVESTMENT")
	public Double getFinishInvestment() {
		return finishInvestment;
	}

	public void setFinishInvestment(Double finishInvestment) {
		this.finishInvestment = finishInvestment;
	}

	@Column(name = "PLANYEAR")
	public Integer getPlanYear() {
		return planYear;
	}

	public void setPlanYear(Integer planYear) {
		this.planYear = planYear;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "PLANSTARTDATE")
	public Date getPlanStartDate() {
		return planStartDate;
	}

	public void setPlanStartDate(Date planStartDate) {
		this.planStartDate = planStartDate;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "PLANENDDATE")
	public Date getPlanEndDate() {
		return planEndDate;
	}

	public void setPlanEndDate(Date planEndDate) {
		this.planEndDate = planEndDate;
	}

	@Column(name = "LANESNUM")
	public String getLanesNum() {
		return lanesNum;
	}

	public void setLanesNum(String lanesNum) {
		this.lanesNum = lanesNum;
	}

	@Column(name = "DESIGNSPEED")
	public String getDesignSpeed() {
		return designSpeed;
	}

	public void setDesignSpeed(String designSpeed) {
		this.designSpeed = designSpeed;
	}

	@Column(name = "SUPERBRIDGENUM")
	public Integer getSuperBridgeNum() {
		return superBridgeNum;
	}

	public void setSuperBridgeNum(Integer superBridgeNum) {
		this.superBridgeNum = superBridgeNum;
	}

	@Column(name = "LARGEBRIDGENUM")
	public Integer getLargeBridgeNum() {
		return largeBridgeNum;
	}

	public void setLargeBridgeNum(Integer largeBridgeNum) {
		this.largeBridgeNum = largeBridgeNum;
	}

	@Column(name = "MEDIUMBRIDGENUM")
	public Integer getMediumBridgeNum() {
		return mediumBridgeNum;
	}

	public void setMediumBridgeNum(Integer mediumBridgeNum) {
		this.mediumBridgeNum = mediumBridgeNum;
	}

	@Column(name = "SMALLBRIDGENUM")
	public Integer getSmallBridgeNum() {
		return smallBridgeNum;
	}

	public void setSmallBridgeNum(Integer smallBridgeNum) {
		this.smallBridgeNum = smallBridgeNum;
	}

	@Column(name = "CULVERTNUM")
	public Integer getCulvertNum() {
		return culvertNum;
	}

	public void setCulvertNum(Integer culvertNum) {
		this.culvertNum = culvertNum;
	}

	@Column(name = "OVERBRIDGENUM")
	public Integer getOverBridgeNum() {
		return overBridgeNum;
	}

	public void setOverBridgeNum(Integer overBridgeNum) {
		this.overBridgeNum = overBridgeNum;
	}

	@Column(name = "SUPERTUNNELNUM")
	public Integer getSuperTunnelNum() {
		return superTunnelNum;
	}

	public void setSuperTunnelNum(Integer superTunnelNum) {
		this.superTunnelNum = superTunnelNum;
	}

	@Column(name = "OTHERTUNNELNUM")
	public Integer getOtherTunnelNum() {
		return otherTunnelNum;
	}

	public void setOtherTunnelNum(Integer otherTunnelNum) {
		this.otherTunnelNum = otherTunnelNum;
	}

	@Column(name = "BUILDACCORDING")
	public String getBuildAccording() {
		return buildAccording;
	}

	public void setBuildAccording(String buildAccording) {
		this.buildAccording = buildAccording;
	}

	@Column(name = "PRIMEQUANTITY")
	public String getPrimeQuantity() {
		return primeQuantity;
	}

	public void setPrimeQuantity(String primeQuantity) {
		this.primeQuantity = primeQuantity;
	}

	@Column(name = "BUILDINVESTMENT")
	public String getBuildInvestment() {
		return buildInvestment;
	}

	public void setBuildInvestment(String buildInvestment) {
		this.buildInvestment = buildInvestment;
	}

	@Column(name = "SOCIALLEVEL", length = 3)
	public String getSocialLevel() {
		return socialLevel;
	}

	public void setSocialLevel(String socialLevel) {
		this.socialLevel = socialLevel;
	}

	@Column(name = "STATUS", length = 5)
	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	@Column(name = "WHARFTYPE")
	public String getWharfType() {
		return wharfType;
	}

	public void setWharfType(String wharfType) {
		this.wharfType = wharfType;
	}

	@Column(name = "TONNAGE")
	public String getTonnage() {
		return tonnage;
	}

	public void setTonnage(String tonnage) {
		this.tonnage = tonnage;
	}

	@Column(name = "DESIGNLOAD")
	public String getDesignLoad() {
		return designLoad;
	}

	public void setDesignLoad(String designLoad) {
		this.designLoad = designLoad;
	}

	@Column(name = "APPROACHSIZE")
	public String getApproachSize() {
		return approachSize;
	}

	public void setApproachSize(String approachSize) {
		this.approachSize = approachSize;
	}

	@Column(name = "DESIGNTYPE")
	public String getDesignType() {
		return designType;
	}

	public void setDesignType(String designType) {
		this.designType = designType;
	}

	@Column(name = "BERTHCOUNT")
	public Integer getBerthCount() {
		return berthCount;
	}

	public void setBerthCount(Integer berthCount) {
		this.berthCount = berthCount;
	}

	@Column(name = "PRINCIPAL")
	public String getPrincipal() {
		return principal;
	}

	public void setPrincipal(String principal) {
		this.principal = principal;
	}

	@Column(name = "PEGNUM")
	public String getPegNum() {
		return pegNum;
	}

	public void setPegNum(String pegNum) {
		this.pegNum = pegNum;
	}

	@Column(name = "APPROACHLOAD")
	public String getApproachLoad() {
		return approachLoad;
	}

	public void setApproachLoad(String approachLoad) {
		this.approachLoad = approachLoad;
	}

	@Column(name = "WATERFRONT")
	public Double getWaterFront() {
		return waterFront;
	}

	public void setWaterFront(Double waterFront) {
		this.waterFront = waterFront;
	}

	@Column(name = "REMARK2")
	public String getRemark2() {
		return remark2;
	}

	public void setRemark2(String remark2) {
		this.remark2 = remark2;
	}

	@Column(name = "REMARK3")
	public String getRemark3() {
		return remark3;
	}

	public void setRemark3(String remark3) {
		this.remark3 = remark3;
	}
	
	@Column(name="PROJAPPROVAL")
	public String getProjApproval() {
		return projApproval;
	}

	public void setProjApproval(String projApproval) {
		this.projApproval = projApproval;
	}
	
	@Column(name="PROJFEASIBLE")
	public String getProjFeasible() {
		return projFeasible;
	}

	public void setProjFeasible(String projFeasible) {
		this.projFeasible = projFeasible;
	}

	@Column(name="DESIGNCHECK")	
	public String getDesignCheck() {
		return designCheck;
	}

	public void setDesignCheck(String designCheck) {
		this.designCheck = designCheck;
	}
	@Column(name="CONDRAWINGCHECK")
	public String getCondrawingCheck() {
		return condrawingCheck;
	}

	public void setCondrawingCheck(String condrawingCheck) {
		this.condrawingCheck = condrawingCheck;
	}
	@Column(name="DESIGNTONNAGE")
	public String getDesigntonnage() {
		return designtonnage;
	}

	public void setDesigntonnage(String designtonnage) {
		this.designtonnage = designtonnage;
	}
	@Column(name="REARYARDAREA")
	public String getRearYardArea() {
		return rearYardArea;
	}

	public void setRearYardArea(String rearYardArea) {
		this.rearYardArea = rearYardArea;
	}
	@Column(name="BUILDNUM")
	public String getBuildNum() {
		return buildNum;
	}

	public void setBuildNum(String buildNum) {
		this.buildNum = buildNum;
	}
	@Column(name="BUILDAREA")
	public String getBuildArea() {
		return buildArea;
	}

	public void setBuildArea(String buildArea) {
		this.buildArea = buildArea;
	}
	
	@Column(name="SIGNPRICE")	
	public String getSignPrice() {
		return signPrice;
	}

	public void setSignPrice(String signPrice) {
		this.signPrice = signPrice;
	}

	
	
	/**
	 * applyDate
	 *
	 * @return  the applyDate
	 * @since   1.0.0
	 */
	@Column(name="APPLYDATE")
	public Date getApplyDate() {
		return applyDate;
	}

	/**
	 * @param applyDate the applyDate to set
	 */
	public void setApplyDate(Date applyDate) {
		this.applyDate = applyDate;
	}
	// -Xrs -Xms300m -Xmx350m
	public ProjectInfo() {
		super();
	}
}
